The present invention generally relates to snapshot acquisition and copying.
The snapshot function and remote copy function, for example, are known as data protection functions.
The snapshot function is for creating and maintaining a snapshot, which is an image of an operational volume (a logical volume capable of being accessed from a higher-level device (for example, a server apparatus) of a storage apparatus) at a certain point in time. As a method for realizing the creation and maintenance of a snapshot, for example, there is a method that utilizes a logical volume function of a server apparatus. For example, the Logical Volume Manager (LVM) of the Linux Kernel (Linux is a registered trademark) can be cited as a logical volume function (refer to “LVM HOWTO” by A. J. Lewis (http://ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/LVM-HOWTO.pdf). When the LVM creates a snapshot of an operational volume, another logical volume is prepared as a logical volume for storing difference data (hereinafter, “differential volume”). When an update (write) occurs in the operational volume subsequent to the point in time at which the snapshot was created, the LVM copies the pre-update data inside the operational volume to the differential volume. This process is called Copy On Write (COW). The LVM has a function for managing a snapshot configured from the data inside the operational volume and the data inside the differential volume. This function is realizable by maintaining snapshot management information that shows if the respective data configuring the snapshot resides in the operational volume or the differential volume.
Meanwhile, the remote copy function is for executing a remote copy, which is a data copy from the storage apparatus of a primary site to the storage apparatus of a secondary site.
A method for carrying out a remote copy in snapshot units is known (for example, U.S. Pat. No. 7,127,578 and US Patent Published Application No. 2003/0158869). In U.S. Pat. No. 7,127,578 and US Patent Published Application No. 2003/0158869, a difference bitmap, which shows the difference between a remote-copy snapshot and a remote copy-targeted snapshot, is created, and data is transferred on the basis of this difference bitmap.
The respective bits that configure the inter-snapshot difference bitmap correspond to either one or a plurality of blocks of the operational volume, and show whether or not there is a difference in this either one or plurality of blocks. In U.S. Pat. No. 7,127,578 and US Patent Published Application No. 2003/0158869, a difference bitmap for transfer is created based on the inter-snapshot difference bitmap, and a remote copy is carried out based on this transfer difference bitmap.
In U.S. Pat. No. 7,127,578, when data inside an operational volume is copied to the secondary site while the latest generation snapshot is being copied to the secondary site, the transfer difference bitmap is created by merging a first difference bitmap created beforehand using the snapshot management information, and a second difference bitmap that show the location that changed in the operational volume subsequent to the latest snapshot being created.
According to U.S. Pat. No. 7,127,578, the first difference bitmap is created using the snapshot management information. Thus, it takes time to obtain the first difference bitmap, and since the transfer difference bitmap is created on the basis of the first difference bitmap, creating the transfer difference bitmap also takes time. In particular, when the snapshot management information is in a physical storage device of a storage apparatus (for example, in a hard disk drive (HDD) or other such disk-type storage device), time is also needed to read out the snapshot management information, thereby requiring even more time to create the transfer difference bitmap.
In Patent Published Application No. 2003/0158869, the difference between a base snapshot (a snapshot that has been copied to the secondary site) and an uncopied snapshot is managed by a bitmap (hereinafter, called the “COW bitmap”) at all times, and the duplicate of this bitmap is used as the transfer difference bitmap. For this reason, unlike the invention of U.S. Pat. No. 7,127,578, snapshot management information is not needed to create the transfer difference bitmap.
However, the COW bitmap is information that is initialized every time a snapshot is created. Thus, once creating the latest generation snapshot, it is not possible to rapidly create a difference bitmap that is used in the remote copy of a snapshot of a generation between the latest generation snapshot and the base snapshot. That is, to create a difference bitmap like this requires the use of the snapshot management information as disclosed in U.S. Pat. No. 7,127,578. Therefore, it takes time to create the transfer difference bitmap for use in the remote copy of a generation snapshot between the latest generation snapshot and the base snapshot.
Similarly, the above-mentioned problems are also possible, for example, even when information of a format that differs from a bitmap is used to carry out a remote copy. Further, the above-mentioned problems are not limited to a remote copy, and are similarly possible even when a copy (for example, a backup) is carried out inside a single apparatus.